import { RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';
import { FormLayoutComponent } from './components/formlayout/formlayout.component';
import { PanelsComponent } from './components/panels/panels.component';
import { OverlaysComponent } from './components/overlays/overlays.component';
import { MediaComponent } from './components/media/media.component';
import { MessagesComponent } from './components/messages/messages.component';
import { MiscComponent } from './components/misc/misc.component';
import { EmptyComponent } from './components/empty/empty.component';
import { ChartsComponent } from './components/charts/charts.component';
import { FileComponent } from './components/file/file.component';
import { DocumentationComponent } from './components/documentation/documentation.component';
import { AppMainComponent } from './app.main.component';
import { InputComponent } from './components/input/input.component';
import { ButtonComponent } from './components/button/button.component';
import { TableComponent } from './components/table/table.component';
import { ListComponent } from './components/list/list.component';
import { TreeComponent } from './components/tree/tree.component';
import { CrudComponent } from './components/crud/crud.component';
import { BlocksComponent } from './components/blocks/blocks.component';
import { FloatLabelComponent } from './components/floatlabel/floatlabel.component';
import { InvalidStateComponent } from './components/invalidstate/invalidstate.component';
import { TimelineComponent } from './components/timeline/timeline.component';
import { IconsComponent } from './components/icons/icons.component';
import { LandingComponent } from './components/landing/landing.component';
import { LoginComponent } from './components/login/login.component';
import { ErrorComponent } from './components/error/error.component';
import { NotfoundComponent } from './components/notfound/notfound.component';
import { AccessComponent } from './components/access/access.component';
import { BasicInfoComponent } from './pages/basic-info/basic-info.component';
import { HydrantBasicinfoComponent } from './pages/hydrant-basicinfo/hydrant-basicinfo.component';
import { QuotaComponent } from './pages/quota/quota.component';
import { AlarmMgmtComponent } from './pages/alarm-mgmt/alarm-mgmt.component';
import { StatisticComponent } from './pages/statistic/statistic.component';
import { VisualizationComponent } from './pages/visualization/visualization.component';
import { GoBigScreenComponent } from './pages/go-big-screen/go-big-screen.component';
import { WellsInfoComponent } from './pages/wells-info/wells-info.component';
import { HydrantInfoComponent } from './pages/hydrant-info/hydrant-info.component';
import { StatistReportAreaComponent } from './pages/statist-report-area/statist-report-area.component';
import { StatistReportDistrictComponent } from './pages/statist-report-district/statist-report-district.component';
import { StatistReportTownComponent } from './pages/statist-report-town/statist-report-town.component';
import { StatistReportUserComponent } from './pages/statist-report-user/statist-report-user.component';
import { StatistReportVillageComponent } from './pages/statist-report-village/statist-report-village.component';
import { TaskManageComponent } from './pages/task-manage/task-manage.component';
import { LicenseManageComponent } from './pages/license-manage/license-manage.component';
import { MixedReportComponent } from './pages/mixed-report/mixed-report.component';
import { DataDetailComponent } from './pages/data-detail/data-detail.component';
import { HomePageComponent } from './pages/home-page/home-page.component';
import { AccountManageComponent } from './pages/account-manage/account-manage.component';
import { PostManageComponent } from './pages/post-manage/post-manage.component';
import { MenuManageComponent } from './pages/menu-manage/menu-manage.component';
import { ApiManageComponent } from './pages/api-manage/api-manage.component';
import { AcceptManageComponent } from './pages/accept-manage/accept-manage.component';
import { PermissionManageComponent } from './pages/permission-manage/permission-manage.component';
import { AccountPostManageComponent } from './pages/account-post-manage/account-post-manage.component';
import { AddressCityComponent } from './pages/address-city/address-city.component';
import { AddressTownComponent } from './pages/address-town/address-town.component';
import { AddressDistrictComponent } from './pages/address-district/address-district.component';
import { AddressVillageComponent } from './pages/address-village/address-village.component';
import { AddressAreaComponent } from './pages/address-area/address-area.component';
@NgModule({
    imports: [
        RouterModule.forRoot([
            {
                path: '', component: AppMainComponent,
                children: [
                    {path: '', component: HomePageComponent},
                    {path: 'uikit/formlayout', component: FormLayoutComponent},
                    {path: 'uikit/input', component: InputComponent},
                    {path: 'uikit/floatlabel', component: FloatLabelComponent},
                    {path: 'uikit/invalidstate', component: InvalidStateComponent},
                    {path: 'uikit/button', component: ButtonComponent},
                    {path: 'uikit/table', component: TableComponent},
                    {path: 'uikit/list', component: ListComponent},
                    {path: 'uikit/tree', component: TreeComponent},
                    {path: 'uikit/panel', component: PanelsComponent},
                    {path: 'uikit/overlay', component: OverlaysComponent},
                    {path: 'uikit/media', component: MediaComponent},
                    {path: 'uikit/menu', loadChildren: () => import('./components/menus/menus.module').then(m => m.MenusModule)},
                    {path: 'uikit/message', component: MessagesComponent},
                    {path: 'uikit/misc', component: MiscComponent},
                    {path: 'uikit/charts', component: ChartsComponent},
                    {path: 'uikit/file', component: FileComponent},
                    {path: 'pages/crud', component: CrudComponent},
                    {path: 'pages/timeline', component: TimelineComponent},
                    {path: 'pages/empty', component: EmptyComponent},
                    {path: 'icons', component: IconsComponent},
                    {path: 'blocks', component: BlocksComponent},
                    {path: 'documentation', component: DocumentationComponent},
                    {path:'pages/basicinfo',component:BasicInfoComponent},
                    {path:'pages/hydrantbasicinfo',component:HydrantBasicinfoComponent},
                    {path:'pages/quota',component:QuotaComponent},
                    {path:'pages/statistic',component:StatisticComponent},
                    {path:'pages/visualization',component:VisualizationComponent},
                    {path:'pages/gobigscreen',component:GoBigScreenComponent},
                    {path:'pages/alarmMgmt',component:AlarmMgmtComponent},
                    {path:'pages/file',component:WellsInfoComponent},
                    {path:'pages/hydrantfile',component:HydrantInfoComponent},
                    {path:'pages/statistic',
                    children:[
                        {path:'area',component:StatistReportAreaComponent},
                        {path:'district',component:StatistReportDistrictComponent},
                        {path:'town',component:StatistReportTownComponent},
                        {path:'user',component:StatistReportUserComponent},
                        {path:'village',component:StatistReportVillageComponent}
                    ]},
                    {path:'pages/taskmanage',component:TaskManageComponent},
                    {path:'pages/licensemanage',component:LicenseManageComponent},
                    {path:'pages/datadetail',component:DataDetailComponent},
                    {path:'pages/mixreport',component:MixedReportComponent},
                    {path:'pages/manage',children:[
                        {path:'account',component:AccountManageComponent},
                        {path:'post',component:PostManageComponent},
                        {path:'func',component:MenuManageComponent},
                        {path:'api',component:ApiManageComponent},
                        {path:'accept',component:AcceptManageComponent},
                        {path:'permission',component:PermissionManageComponent},
                        {path:'account2post',component:AccountPostManageComponent}
                    ]},
                    {path:'pages/address',children:[
                        {path:'city',component:AddressCityComponent},
                        {path:'town',component:AddressTownComponent},
                        {path:'district',component:AddressDistrictComponent},
                        {path:'village',component:AddressVillageComponent},
                        {path:'area',component:AddressAreaComponent}
                    ]}
                ],
            },
            {path:'pages/landing', component: LandingComponent},
            {path:'pages/login', component: LoginComponent},
            {path:'pages/error', component: ErrorComponent},
            {path:'pages/notfound', component: NotfoundComponent},
            {path:'pages/access', component: AccessComponent},
            {path: '**', redirectTo: 'pages/notfound'},
        ], {scrollPositionRestoration: 'enabled', anchorScrolling:'enabled'})
    ],
    exports: [RouterModule]
})
export class AppRoutingModule {
}
